package com.gridmobi.xrtb.domain.dsp;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class JCountryExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public JCountryExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andChar2IsNull() {
            addCriterion("char2 is null");
            return (Criteria) this;
        }

        public Criteria andChar2IsNotNull() {
            addCriterion("char2 is not null");
            return (Criteria) this;
        }

        public Criteria andChar2EqualTo(String value) {
            addCriterion("char2 =", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2NotEqualTo(String value) {
            addCriterion("char2 <>", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2GreaterThan(String value) {
            addCriterion("char2 >", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2GreaterThanOrEqualTo(String value) {
            addCriterion("char2 >=", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2LessThan(String value) {
            addCriterion("char2 <", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2LessThanOrEqualTo(String value) {
            addCriterion("char2 <=", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2Like(String value) {
            addCriterion("char2 like", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2NotLike(String value) {
            addCriterion("char2 not like", value, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2In(List<String> values) {
            addCriterion("char2 in", values, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2NotIn(List<String> values) {
            addCriterion("char2 not in", values, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2Between(String value1, String value2) {
            addCriterion("char2 between", value1, value2, "char2");
            return (Criteria) this;
        }

        public Criteria andChar2NotBetween(String value1, String value2) {
            addCriterion("char2 not between", value1, value2, "char2");
            return (Criteria) this;
        }

        public Criteria andChar3IsNull() {
            addCriterion("char3 is null");
            return (Criteria) this;
        }

        public Criteria andChar3IsNotNull() {
            addCriterion("char3 is not null");
            return (Criteria) this;
        }

        public Criteria andChar3EqualTo(String value) {
            addCriterion("char3 =", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3NotEqualTo(String value) {
            addCriterion("char3 <>", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3GreaterThan(String value) {
            addCriterion("char3 >", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3GreaterThanOrEqualTo(String value) {
            addCriterion("char3 >=", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3LessThan(String value) {
            addCriterion("char3 <", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3LessThanOrEqualTo(String value) {
            addCriterion("char3 <=", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3Like(String value) {
            addCriterion("char3 like", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3NotLike(String value) {
            addCriterion("char3 not like", value, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3In(List<String> values) {
            addCriterion("char3 in", values, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3NotIn(List<String> values) {
            addCriterion("char3 not in", values, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3Between(String value1, String value2) {
            addCriterion("char3 between", value1, value2, "char3");
            return (Criteria) this;
        }

        public Criteria andChar3NotBetween(String value1, String value2) {
            addCriterion("char3 not between", value1, value2, "char3");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIsNull() {
            addCriterion("englishName is null");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIsNotNull() {
            addCriterion("englishName is not null");
            return (Criteria) this;
        }

        public Criteria andEnglishnameEqualTo(String value) {
            addCriterion("englishName =", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotEqualTo(String value) {
            addCriterion("englishName <>", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameGreaterThan(String value) {
            addCriterion("englishName >", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameGreaterThanOrEqualTo(String value) {
            addCriterion("englishName >=", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLessThan(String value) {
            addCriterion("englishName <", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLessThanOrEqualTo(String value) {
            addCriterion("englishName <=", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameLike(String value) {
            addCriterion("englishName like", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotLike(String value) {
            addCriterion("englishName not like", value, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameIn(List<String> values) {
            addCriterion("englishName in", values, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotIn(List<String> values) {
            addCriterion("englishName not in", values, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameBetween(String value1, String value2) {
            addCriterion("englishName between", value1, value2, "englishname");
            return (Criteria) this;
        }

        public Criteria andEnglishnameNotBetween(String value1, String value2) {
            addCriterion("englishName not between", value1, value2, "englishname");
            return (Criteria) this;
        }

        public Criteria andChinesenameIsNull() {
            addCriterion("chineseName is null");
            return (Criteria) this;
        }

        public Criteria andChinesenameIsNotNull() {
            addCriterion("chineseName is not null");
            return (Criteria) this;
        }

        public Criteria andChinesenameEqualTo(String value) {
            addCriterion("chineseName =", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameNotEqualTo(String value) {
            addCriterion("chineseName <>", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameGreaterThan(String value) {
            addCriterion("chineseName >", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameGreaterThanOrEqualTo(String value) {
            addCriterion("chineseName >=", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameLessThan(String value) {
            addCriterion("chineseName <", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameLessThanOrEqualTo(String value) {
            addCriterion("chineseName <=", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameLike(String value) {
            addCriterion("chineseName like", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameNotLike(String value) {
            addCriterion("chineseName not like", value, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameIn(List<String> values) {
            addCriterion("chineseName in", values, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameNotIn(List<String> values) {
            addCriterion("chineseName not in", values, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameBetween(String value1, String value2) {
            addCriterion("chineseName between", value1, value2, "chinesename");
            return (Criteria) this;
        }

        public Criteria andChinesenameNotBetween(String value1, String value2) {
            addCriterion("chineseName not between", value1, value2, "chinesename");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetIsNull() {
            addCriterion("timeZoneOffset is null");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetIsNotNull() {
            addCriterion("timeZoneOffset is not null");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetEqualTo(Byte value) {
            addCriterion("timeZoneOffset =", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetNotEqualTo(Byte value) {
            addCriterion("timeZoneOffset <>", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetGreaterThan(Byte value) {
            addCriterion("timeZoneOffset >", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetGreaterThanOrEqualTo(Byte value) {
            addCriterion("timeZoneOffset >=", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetLessThan(Byte value) {
            addCriterion("timeZoneOffset <", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetLessThanOrEqualTo(Byte value) {
            addCriterion("timeZoneOffset <=", value, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetIn(List<Byte> values) {
            addCriterion("timeZoneOffset in", values, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetNotIn(List<Byte> values) {
            addCriterion("timeZoneOffset not in", values, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetBetween(Byte value1, Byte value2) {
            addCriterion("timeZoneOffset between", value1, value2, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andTimezoneoffsetNotBetween(Byte value1, Byte value2) {
            addCriterion("timeZoneOffset not between", value1, value2, "timezoneoffset");
            return (Criteria) this;
        }

        public Criteria andChecklevelIsNull() {
            addCriterion("checkLevel is null");
            return (Criteria) this;
        }

        public Criteria andChecklevelIsNotNull() {
            addCriterion("checkLevel is not null");
            return (Criteria) this;
        }

        public Criteria andChecklevelEqualTo(Byte value) {
            addCriterion("checkLevel =", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelNotEqualTo(Byte value) {
            addCriterion("checkLevel <>", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelGreaterThan(Byte value) {
            addCriterion("checkLevel >", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelGreaterThanOrEqualTo(Byte value) {
            addCriterion("checkLevel >=", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelLessThan(Byte value) {
            addCriterion("checkLevel <", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelLessThanOrEqualTo(Byte value) {
            addCriterion("checkLevel <=", value, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelIn(List<Byte> values) {
            addCriterion("checkLevel in", values, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelNotIn(List<Byte> values) {
            addCriterion("checkLevel not in", values, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelBetween(Byte value1, Byte value2) {
            addCriterion("checkLevel between", value1, value2, "checklevel");
            return (Criteria) this;
        }

        public Criteria andChecklevelNotBetween(Byte value1, Byte value2) {
            addCriterion("checkLevel not between", value1, value2, "checklevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelIsNull() {
            addCriterion("runLevel is null");
            return (Criteria) this;
        }

        public Criteria andRunlevelIsNotNull() {
            addCriterion("runLevel is not null");
            return (Criteria) this;
        }

        public Criteria andRunlevelEqualTo(Byte value) {
            addCriterion("runLevel =", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelNotEqualTo(Byte value) {
            addCriterion("runLevel <>", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelGreaterThan(Byte value) {
            addCriterion("runLevel >", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelGreaterThanOrEqualTo(Byte value) {
            addCriterion("runLevel >=", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelLessThan(Byte value) {
            addCriterion("runLevel <", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelLessThanOrEqualTo(Byte value) {
            addCriterion("runLevel <=", value, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelIn(List<Byte> values) {
            addCriterion("runLevel in", values, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelNotIn(List<Byte> values) {
            addCriterion("runLevel not in", values, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelBetween(Byte value1, Byte value2) {
            addCriterion("runLevel between", value1, value2, "runlevel");
            return (Criteria) this;
        }

        public Criteria andRunlevelNotBetween(Byte value1, Byte value2) {
            addCriterion("runLevel not between", value1, value2, "runlevel");
            return (Criteria) this;
        }

        public Criteria andClickmaxIsNull() {
            addCriterion("clickMax is null");
            return (Criteria) this;
        }

        public Criteria andClickmaxIsNotNull() {
            addCriterion("clickMax is not null");
            return (Criteria) this;
        }

        public Criteria andClickmaxEqualTo(Integer value) {
            addCriterion("clickMax =", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxNotEqualTo(Integer value) {
            addCriterion("clickMax <>", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxGreaterThan(Integer value) {
            addCriterion("clickMax >", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxGreaterThanOrEqualTo(Integer value) {
            addCriterion("clickMax >=", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxLessThan(Integer value) {
            addCriterion("clickMax <", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxLessThanOrEqualTo(Integer value) {
            addCriterion("clickMax <=", value, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxIn(List<Integer> values) {
            addCriterion("clickMax in", values, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxNotIn(List<Integer> values) {
            addCriterion("clickMax not in", values, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxBetween(Integer value1, Integer value2) {
            addCriterion("clickMax between", value1, value2, "clickmax");
            return (Criteria) this;
        }

        public Criteria andClickmaxNotBetween(Integer value1, Integer value2) {
            addCriterion("clickMax not between", value1, value2, "clickmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxIsNull() {
            addCriterion("campaignMax is null");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxIsNotNull() {
            addCriterion("campaignMax is not null");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxEqualTo(Integer value) {
            addCriterion("campaignMax =", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxNotEqualTo(Integer value) {
            addCriterion("campaignMax <>", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxGreaterThan(Integer value) {
            addCriterion("campaignMax >", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxGreaterThanOrEqualTo(Integer value) {
            addCriterion("campaignMax >=", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxLessThan(Integer value) {
            addCriterion("campaignMax <", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxLessThanOrEqualTo(Integer value) {
            addCriterion("campaignMax <=", value, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxIn(List<Integer> values) {
            addCriterion("campaignMax in", values, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxNotIn(List<Integer> values) {
            addCriterion("campaignMax not in", values, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxBetween(Integer value1, Integer value2) {
            addCriterion("campaignMax between", value1, value2, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCampaignmaxNotBetween(Integer value1, Integer value2) {
            addCriterion("campaignMax not between", value1, value2, "campaignmax");
            return (Criteria) this;
        }

        public Criteria andCheckurlIsNull() {
            addCriterion("checkUrl is null");
            return (Criteria) this;
        }

        public Criteria andCheckurlIsNotNull() {
            addCriterion("checkUrl is not null");
            return (Criteria) this;
        }

        public Criteria andCheckurlEqualTo(String value) {
            addCriterion("checkUrl =", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlNotEqualTo(String value) {
            addCriterion("checkUrl <>", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlGreaterThan(String value) {
            addCriterion("checkUrl >", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlGreaterThanOrEqualTo(String value) {
            addCriterion("checkUrl >=", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlLessThan(String value) {
            addCriterion("checkUrl <", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlLessThanOrEqualTo(String value) {
            addCriterion("checkUrl <=", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlLike(String value) {
            addCriterion("checkUrl like", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlNotLike(String value) {
            addCriterion("checkUrl not like", value, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlIn(List<String> values) {
            addCriterion("checkUrl in", values, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlNotIn(List<String> values) {
            addCriterion("checkUrl not in", values, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlBetween(String value1, String value2) {
            addCriterion("checkUrl between", value1, value2, "checkurl");
            return (Criteria) this;
        }

        public Criteria andCheckurlNotBetween(String value1, String value2) {
            addCriterion("checkUrl not between", value1, value2, "checkurl");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNull() {
            addCriterion("updateTime is null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIsNotNull() {
            addCriterion("updateTime is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeEqualTo(Date value) {
            addCriterion("updateTime =", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotEqualTo(Date value) {
            addCriterion("updateTime <>", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThan(Date value) {
            addCriterion("updateTime >", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("updateTime >=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThan(Date value) {
            addCriterion("updateTime <", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeLessThanOrEqualTo(Date value) {
            addCriterion("updateTime <=", value, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeIn(List<Date> values) {
            addCriterion("updateTime in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotIn(List<Date> values) {
            addCriterion("updateTime not in", values, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeBetween(Date value1, Date value2) {
            addCriterion("updateTime between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andUpdatetimeNotBetween(Date value1, Date value2) {
            addCriterion("updateTime not between", value1, value2, "updatetime");
            return (Criteria) this;
        }

        public Criteria andVpncodeIsNull() {
            addCriterion("vpnCode is null");
            return (Criteria) this;
        }

        public Criteria andVpncodeIsNotNull() {
            addCriterion("vpnCode is not null");
            return (Criteria) this;
        }

        public Criteria andVpncodeEqualTo(String value) {
            addCriterion("vpnCode =", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeNotEqualTo(String value) {
            addCriterion("vpnCode <>", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeGreaterThan(String value) {
            addCriterion("vpnCode >", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeGreaterThanOrEqualTo(String value) {
            addCriterion("vpnCode >=", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeLessThan(String value) {
            addCriterion("vpnCode <", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeLessThanOrEqualTo(String value) {
            addCriterion("vpnCode <=", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeLike(String value) {
            addCriterion("vpnCode like", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeNotLike(String value) {
            addCriterion("vpnCode not like", value, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeIn(List<String> values) {
            addCriterion("vpnCode in", values, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeNotIn(List<String> values) {
            addCriterion("vpnCode not in", values, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeBetween(String value1, String value2) {
            addCriterion("vpnCode between", value1, value2, "vpncode");
            return (Criteria) this;
        }

        public Criteria andVpncodeNotBetween(String value1, String value2) {
            addCriterion("vpnCode not between", value1, value2, "vpncode");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}